package com.dragon.modules.yuegou.entity.order;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.order.OrderBuyerType;
import com.dragon.modules.yuegou.enums.order.OrderPayType;
import com.dragon.modules.yuegou.enums.order.OrderPickupType;
import com.dragon.modules.yuegou.enums.order.OrderRefundStatus;
import com.dragon.modules.yuegou.enums.order.OrderSellerType;
import com.dragon.modules.yuegou.enums.order.OrderStatus;
import com.dragon.modules.yuegou.enums.order.OrderType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单实体类<br>
 * 对应的表为：ord_order<br>
 * 
 * @author pbuilder generated
 * @date 2020-08-31 14:56:06
 * @company sgy
 * @version 2.0
 */
@TableName("ord_order")
@ApiModel(description = "订单")
public class OrderEntity {

    /** 订单号（其它表引用订单号使用order_no） */
	@ApiModelProperty("订单号（其它表引用订单号使用order_no）")
	protected String id;

    /** 订单金额（订单物品金额之和) */
	@ApiModelProperty("订单金额（订单物品金额之和)")
	protected BigDecimal amount;

    /** 订单积分 */
	@ApiModelProperty("订单积分")
	protected Integer points;

    /** 优惠金额（优惠金额之和） */
	@ApiModelProperty("优惠金额（优惠金额之和）")
	protected BigDecimal couponAmount;

    /** 折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)） */
	@ApiModelProperty("折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)）")
	protected BigDecimal discountAmount;

    /** 应付金额 包含运费，运费存在ord_order_shipping */
	@ApiModelProperty("应付金额 包含运费，运费存在ord_order_shipping")
	protected BigDecimal payableAmount;

    /** 实付金额 */
	@ApiModelProperty("实付金额")
	protected BigDecimal payAmount;

    /** 积分支付额度 */
	@ApiModelProperty("积分支付额度")
	protected Integer payPoints;

    /** [枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT */
	@ApiModelProperty("[枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT")
	protected OrderPayType payType;

    /** [枚举]订单状态：0-未付款-NOTPAY、1-已付款/待接单-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货/配送中-SHIPPING、5-已过期-EXPIRED、6-待配送-WAITPOST */
	@ApiModelProperty("[枚举]订单状态：0-未付款-NOTPAY、1-已付款/待接单-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货/配送中-SHIPPING、5-已过期-EXPIRED、6-待配送-WAITPOST")
	protected OrderStatus status;

    /** 退款金额 */
	@ApiModelProperty("退款金额")
	protected BigDecimal refundAmount;

    /** [枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND */
	@ApiModelProperty("[枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND")
	protected OrderRefundStatus refundStatus;

    /** 退款备注 */
	@ApiModelProperty("退款备注")
	protected String refundRemarks;

    /** 下单时间 */
	@ApiModelProperty("下单时间")
	protected LocalDateTime orderTime;

    /** 取消时间 */
	@ApiModelProperty("取消时间")
	protected LocalDateTime cancelTime;

    /** 交易关闭时间 */
	@ApiModelProperty("交易关闭时间")
	protected LocalDateTime closeTime;

    /** 支付时间 */
	@ApiModelProperty("支付时间")
	protected LocalDateTime payTime;

    /** 支付超时时间 */
	@ApiModelProperty("支付超时时间")
	protected LocalDateTime payExpireTime;

    /** 提货超时时间 */
	@ApiModelProperty("提货超时时间")
	protected LocalDateTime pickupExpireTime;

    /** 发货时间 */
	@ApiModelProperty("发货时间")
	protected LocalDateTime shippingTime;

    /** 交易完成时间 */
	@ApiModelProperty("交易完成时间")
	protected LocalDateTime endTime;

    /** [枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER */
	@ApiModelProperty("[枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER")
	protected OrderBuyerType buyerType;

    /** 买家ID */
	@ApiModelProperty("买家ID")
	protected String buyerId;

    /** 卖家昵称 */
	@ApiModelProperty("卖家昵称")
	protected String buyerNick;

    /** 卖家留言 */
	@ApiModelProperty("卖家留言")
	protected String buyerMessage;

    /** [枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT */
	@ApiModelProperty("[枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT")
	protected OrderSellerType sellerType;

    /** 集团ID */
	@ApiModelProperty("集团ID")
	protected String groupId;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 商户ID */
	@ApiModelProperty("商户ID")
	protected String merchantId;

    /** 停车场ID（停车支付订单专用） */
	@ApiModelProperty("停车场ID（停车支付订单专用）")
	protected String parkId;

    /** 是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单） */
	@ApiModelProperty("是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单）")
	protected Boolean isVirtual;

    /** [枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST */
	@ApiModelProperty("[枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST")
	protected OrderPickupType pickupType;

    /** 是否需要上门自提（1：需要，会员自己上门自提，0：不需要） */
	@ApiModelProperty("是否需要上门自提（1：需要，会员自己上门自提，0：不需要）")
	protected Boolean pickup;

    /** 剩余可提货数量 */
	@ApiModelProperty("剩余可提货数量")
	protected Integer pickupRemain;

    /** 订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品） */
	@ApiModelProperty("订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品）")
	protected Integer level;

    /** 父订单ID */
	@ApiModelProperty("父订单ID")
	protected String parentId;

    /** [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY */
	@ApiModelProperty("[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY")
	protected OrderType type;

    /** 是否是叶子订单（统计订单金额时，使用叶子订单来统计） */
	@ApiModelProperty("是否是叶子订单（统计订单金额时，使用叶子订单来统计）")
	protected Boolean leaf;

    /** 旧订单号 */
	@ApiModelProperty("旧订单号")
	protected String oldOrderNo;

	/**
	 * 构造一个空订单实体对象
	 */
	public OrderEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个订单实体对象
	 * 
	 * @param other 其它对象
	 */
	public OrderEntity(OrderEntity other){
		super();
     	this.id = other.id;
     	this.amount = other.amount;
     	this.points = other.points;
     	this.couponAmount = other.couponAmount;
     	this.discountAmount = other.discountAmount;
     	this.payableAmount = other.payableAmount;
     	this.payAmount = other.payAmount;
     	this.payPoints = other.payPoints;
     	this.payType = other.payType;
     	this.status = other.status;
     	this.refundAmount = other.refundAmount;
     	this.refundStatus = other.refundStatus;
     	this.refundRemarks = other.refundRemarks;
     	this.orderTime = other.orderTime;
     	this.cancelTime = other.cancelTime;
     	this.closeTime = other.closeTime;
     	this.payTime = other.payTime;
     	this.payExpireTime = other.payExpireTime;
     	this.pickupExpireTime = other.pickupExpireTime;
     	this.shippingTime = other.shippingTime;
     	this.endTime = other.endTime;
     	this.buyerType = other.buyerType;
     	this.buyerId = other.buyerId;
     	this.buyerNick = other.buyerNick;
     	this.buyerMessage = other.buyerMessage;
     	this.sellerType = other.sellerType;
     	this.groupId = other.groupId;
     	this.busdId = other.busdId;
     	this.merchantId = other.merchantId;
     	this.parkId = other.parkId;
     	this.isVirtual = other.isVirtual;
     	this.pickupType = other.pickupType;
     	this.pickup = other.pickup;
     	this.pickupRemain = other.pickupRemain;
     	this.level = other.level;
     	this.parentId = other.parentId;
     	this.type = other.type;
     	this.leaf = other.leaf;
     	this.oldOrderNo = other.oldOrderNo;
	}


	/**
	 * 获取订单号（其它表引用订单号使用order_no）
	 * 
	 * @return id 订单号（其它表引用订单号使用order_no）
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置订单号（其它表引用订单号使用order_no）
	 * 
	 * @param id 订单号（其它表引用订单号使用order_no）
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取订单金额（订单物品金额之和)
	 * 
	 * @return amount 订单金额（订单物品金额之和)
	 */
	public BigDecimal getAmount() {
		return amount;
	}
  	
	/**
	 * 设置订单金额（订单物品金额之和)
	 * 
	 * @param amount 订单金额（订单物品金额之和)
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取订单积分
	 * 
	 * @return points 订单积分
	 */
	public Integer getPoints() {
		return points;
	}
  	
	/**
	 * 设置订单积分
	 * 
	 * @param points 订单积分
	 */
	public void setPoints(Integer points) {
		this.points = points;
	}

	/**
	 * 获取优惠金额（优惠金额之和）
	 * 
	 * @return couponAmount 优惠金额（优惠金额之和）
	 */
	public BigDecimal getCouponAmount() {
		return couponAmount;
	}
  	
	/**
	 * 设置优惠金额（优惠金额之和）
	 * 
	 * @param couponAmount 优惠金额（优惠金额之和）
	 */
	public void setCouponAmount(BigDecimal couponAmount) {
		this.couponAmount = couponAmount;
	}

	/**
	 * 获取折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)）
	 * 
	 * @return discountAmount 折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)）
	 */
	public BigDecimal getDiscountAmount() {
		return discountAmount;
	}
  	
	/**
	 * 设置折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)）
	 * 
	 * @param discountAmount 折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)）
	 */
	public void setDiscountAmount(BigDecimal discountAmount) {
		this.discountAmount = discountAmount;
	}

	/**
	 * 获取应付金额 包含运费，运费存在ord_order_shipping
	 * 
	 * @return payableAmount 应付金额 包含运费，运费存在ord_order_shipping
	 */
	public BigDecimal getPayableAmount() {
		return payableAmount;
	}
  	
	/**
	 * 设置应付金额 包含运费，运费存在ord_order_shipping
	 * 
	 * @param payableAmount 应付金额 包含运费，运费存在ord_order_shipping
	 */
	public void setPayableAmount(BigDecimal payableAmount) {
		this.payableAmount = payableAmount;
	}

	/**
	 * 获取实付金额
	 * 
	 * @return payAmount 实付金额
	 */
	public BigDecimal getPayAmount() {
		return payAmount;
	}
  	
	/**
	 * 设置实付金额
	 * 
	 * @param payAmount 实付金额
	 */
	public void setPayAmount(BigDecimal payAmount) {
		this.payAmount = payAmount;
	}

	/**
	 * 获取积分支付额度
	 * 
	 * @return payPoints 积分支付额度
	 */
	public Integer getPayPoints() {
		return payPoints;
	}
  	
	/**
	 * 设置积分支付额度
	 * 
	 * @param payPoints 积分支付额度
	 */
	public void setPayPoints(Integer payPoints) {
		this.payPoints = payPoints;
	}

	/**
	 * 获取[枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT
	 * 
	 * @return payType [枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT
	 */
	public OrderPayType getPayType() {
		return payType;
	}
  	
	/**
	 * 设置[枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT
	 * 
	 * @param payType [枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT
	 */
	public void setPayType(OrderPayType payType) {
		this.payType = payType;
	}

	/**
	 * 获取[枚举]订单状态：0-未付款-NOTPAY、1-已付款/待接单-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货/配送中-SHIPPING、5-已过期-EXPIRED、6-待配送-WAITPOST
	 * 
	 * @return status [枚举]订单状态：0-未付款-NOTPAY、1-已付款/待接单-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货/配送中-SHIPPING、5-已过期-EXPIRED、6-待配送-WAITPOST
	 */
	public OrderStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]订单状态：0-未付款-NOTPAY、1-已付款-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货-SHIPPING、5-已过期-EXPIRED
	 * 
	 * @param status [枚举]订单状态：0-未付款-NOTPAY、1-已付款-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货-SHIPPING、5-已过期-EXPIRED
	 */
	public void setStatus(OrderStatus status) {
		this.status = status;
	}

	/**
	 * 获取退款金额
	 * 
	 * @return refundAmount 退款金额
	 */
	public BigDecimal getRefundAmount() {
		return refundAmount;
	}
  	
	/**
	 * 设置退款金额
	 * 
	 * @param refundAmount 退款金额
	 */
	public void setRefundAmount(BigDecimal refundAmount) {
		this.refundAmount = refundAmount;
	}

	/**
	 * 获取[枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND
	 * 
	 * @return refundStatus [枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND
	 */
	public OrderRefundStatus getRefundStatus() {
		return refundStatus;
	}
  	
	/**
	 * 设置[枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND
	 * 
	 * @param refundStatus [枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND
	 */
	public void setRefundStatus(OrderRefundStatus refundStatus) {
		this.refundStatus = refundStatus;
	}

	/**
	 * 获取退款备注
	 * 
	 * @return refundRemarks 退款备注
	 */
	public String getRefundRemarks() {
		return refundRemarks;
	}
  	
	/**
	 * 设置退款备注
	 * 
	 * @param refundRemarks 退款备注
	 */
	public void setRefundRemarks(String refundRemarks) {
		this.refundRemarks = refundRemarks;
	}

	/**
	 * 获取下单时间
	 * 
	 * @return orderTime 下单时间
	 */
	public LocalDateTime getOrderTime() {
		return orderTime;
	}
  	
	/**
	 * 设置下单时间
	 * 
	 * @param orderTime 下单时间
	 */
	public void setOrderTime(LocalDateTime orderTime) {
		this.orderTime = orderTime;
	}

	/**
	 * 获取取消时间
	 * 
	 * @return cancelTime 取消时间
	 */
	public LocalDateTime getCancelTime() {
		return cancelTime;
	}
  	
	/**
	 * 设置取消时间
	 * 
	 * @param cancelTime 取消时间
	 */
	public void setCancelTime(LocalDateTime cancelTime) {
		this.cancelTime = cancelTime;
	}

	/**
	 * 获取交易关闭时间
	 * 
	 * @return closeTime 交易关闭时间
	 */
	public LocalDateTime getCloseTime() {
		return closeTime;
	}
  	
	/**
	 * 设置交易关闭时间
	 * 
	 * @param closeTime 交易关闭时间
	 */
	public void setCloseTime(LocalDateTime closeTime) {
		this.closeTime = closeTime;
	}

	/**
	 * 获取支付时间
	 * 
	 * @return payTime 支付时间
	 */
	public LocalDateTime getPayTime() {
		return payTime;
	}
  	
	/**
	 * 设置支付时间
	 * 
	 * @param payTime 支付时间
	 */
	public void setPayTime(LocalDateTime payTime) {
		this.payTime = payTime;
	}

	/**
	 * 获取支付超时时间
	 * 
	 * @return payExpireTime 支付超时时间
	 */
	public LocalDateTime getPayExpireTime() {
		return payExpireTime;
	}
  	
	/**
	 * 设置支付超时时间
	 * 
	 * @param payExpireTime 支付超时时间
	 */
	public void setPayExpireTime(LocalDateTime payExpireTime) {
		this.payExpireTime = payExpireTime;
	}

	/**
	 * 获取提货超时时间
	 * 
	 * @return pickupExpireTime 提货超时时间
	 */
	public LocalDateTime getPickupExpireTime() {
		return pickupExpireTime;
	}
  	
	/**
	 * 设置提货超时时间
	 * 
	 * @param pickupExpireTime 提货超时时间
	 */
	public void setPickupExpireTime(LocalDateTime pickupExpireTime) {
		this.pickupExpireTime = pickupExpireTime;
	}

	/**
	 * 获取发货时间
	 * 
	 * @return shippingTime 发货时间
	 */
	public LocalDateTime getShippingTime() {
		return shippingTime;
	}
  	
	/**
	 * 设置发货时间
	 * 
	 * @param shippingTime 发货时间
	 */
	public void setShippingTime(LocalDateTime shippingTime) {
		this.shippingTime = shippingTime;
	}

	/**
	 * 获取交易完成时间
	 * 
	 * @return endTime 交易完成时间
	 */
	public LocalDateTime getEndTime() {
		return endTime;
	}
  	
	/**
	 * 设置交易完成时间
	 * 
	 * @param endTime 交易完成时间
	 */
	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取[枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER
	 * 
	 * @return buyerType [枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER
	 */
	public OrderBuyerType getBuyerType() {
		return buyerType;
	}
  	
	/**
	 * 设置[枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER
	 * 
	 * @param buyerType [枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER
	 */
	public void setBuyerType(OrderBuyerType buyerType) {
		this.buyerType = buyerType;
	}

	/**
	 * 获取买家ID
	 * 
	 * @return buyerId 买家ID
	 */
	public String getBuyerId() {
		return buyerId;
	}
  	
	/**
	 * 设置买家ID
	 * 
	 * @param buyerId 买家ID
	 */
	public void setBuyerId(String buyerId) {
		this.buyerId = buyerId;
	}

	/**
	 * 获取卖家昵称
	 * 
	 * @return buyerNick 卖家昵称
	 */
	public String getBuyerNick() {
		return buyerNick;
	}
  	
	/**
	 * 设置卖家昵称
	 * 
	 * @param buyerNick 卖家昵称
	 */
	public void setBuyerNick(String buyerNick) {
		this.buyerNick = buyerNick;
	}

	/**
	 * 获取卖家留言
	 * 
	 * @return buyerMessage 卖家留言
	 */
	public String getBuyerMessage() {
		return buyerMessage;
	}
  	
	/**
	 * 设置卖家留言
	 * 
	 * @param buyerMessage 卖家留言
	 */
	public void setBuyerMessage(String buyerMessage) {
		this.buyerMessage = buyerMessage;
	}

	/**
	 * 获取[枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT
	 * 
	 * @return sellerType [枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT
	 */
	public OrderSellerType getSellerType() {
		return sellerType;
	}
  	
	/**
	 * 设置[枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT
	 * 
	 * @param sellerType [枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT
	 */
	public void setSellerType(OrderSellerType sellerType) {
		this.sellerType = sellerType;
	}

	/**
	 * 获取集团ID
	 * 
	 * @return groupId 集团ID
	 */
	public String getGroupId() {
		return groupId;
	}
  	
	/**
	 * 设置集团ID
	 * 
	 * @param groupId 集团ID
	 */
	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取商户ID
	 * 
	 * @return merchantId 商户ID
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户ID
	 * 
	 * @param merchantId 商户ID
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取停车场ID（停车支付订单专用）
	 * 
	 * @return parkId 停车场ID（停车支付订单专用）
	 */
	public String getParkId() {
		return parkId;
	}
  	
	/**
	 * 设置停车场ID（停车支付订单专用）
	 * 
	 * @param parkId 停车场ID（停车支付订单专用）
	 */
	public void setParkId(String parkId) {
		this.parkId = parkId;
	}

	/**
	 * 获取是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单）
	 * 
	 * @return isVirtual 是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单）
	 */
	public Boolean getIsVirtual() {
		return isVirtual;
	}
  	
	/**
	 * 设置是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单）
	 * 
	 * @param isVirtual 是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单）
	 */
	public void setIsVirtual(Boolean isVirtual) {
		this.isVirtual = isVirtual;
	}

	/**
	 * 获取[枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST
	 * 
	 * @return pickupType [枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST
	 */
	public OrderPickupType getPickupType() {
		return pickupType;
	}
  	
	/**
	 * 设置[枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST
	 * 
	 * @param pickupType [枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST
	 */
	public void setPickupType(OrderPickupType pickupType) {
		this.pickupType = pickupType;
	}

	/**
	 * 获取是否需要上门自提（1：需要，会员自己上门自提，0：不需要）
	 * 
	 * @return pickup 是否需要上门自提（1：需要，会员自己上门自提，0：不需要）
	 */
	public Boolean getPickup() {
		return pickup;
	}
  	
	/**
	 * 设置是否需要上门自提（1：需要，会员自己上门自提，0：不需要）
	 * 
	 * @param pickup 是否需要上门自提（1：需要，会员自己上门自提，0：不需要）
	 */
	public void setPickup(Boolean pickup) {
		this.pickup = pickup;
	}

	/**
	 * 获取剩余可提货数量
	 * 
	 * @return pickupRemain 剩余可提货数量
	 */
	public Integer getPickupRemain() {
		return pickupRemain;
	}
  	
	/**
	 * 设置剩余可提货数量
	 * 
	 * @param pickupRemain 剩余可提货数量
	 */
	public void setPickupRemain(Integer pickupRemain) {
		this.pickupRemain = pickupRemain;
	}

	/**
	 * 获取订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品）
	 * 
	 * @return level 订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品）
	 */
	public Integer getLevel() {
		return level;
	}
  	
	/**
	 * 设置订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品）
	 * 
	 * @param level 订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品）
	 */
	public void setLevel(Integer level) {
		this.level = level;
	}

	/**
	 * 获取父订单ID
	 * 
	 * @return parentId 父订单ID
	 */
	public String getParentId() {
		return parentId;
	}
  	
	/**
	 * 设置父订单ID
	 * 
	 * @param parentId 父订单ID
	 */
	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	/**
	 * 获取[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY
	 * 
	 * @return type [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY
	 */
	public OrderType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY
	 * 
	 * @param type [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY
	 */
	public void setType(OrderType type) {
		this.type = type;
	}

	/**
	 * 获取是否是叶子订单（统计订单金额时，使用叶子订单来统计）
	 * 
	 * @return leaf 是否是叶子订单（统计订单金额时，使用叶子订单来统计）
	 */
	public Boolean getLeaf() {
		return leaf;
	}
  	
	/**
	 * 设置是否是叶子订单（统计订单金额时，使用叶子订单来统计）
	 * 
	 * @param leaf 是否是叶子订单（统计订单金额时，使用叶子订单来统计）
	 */
	public void setLeaf(Boolean leaf) {
		this.leaf = leaf;
	}

	/**
	 * 获取旧订单号
	 * 
	 * @return oldOrderNo 旧订单号
	 */
	public String getOldOrderNo() {
		return oldOrderNo;
	}
  	
	/**
	 * 设置旧订单号
	 * 
	 * @param oldOrderNo 旧订单号
	 */
	public void setOldOrderNo(String oldOrderNo) {
		this.oldOrderNo = oldOrderNo;
	}

    public String toString() {
		return new StringBuilder().append("OrderEntity{").
			append("id=").append(id).
			append(",amount=").append(amount).
			append(",points=").append(points).
			append(",couponAmount=").append(couponAmount).
			append(",discountAmount=").append(discountAmount).
			append(",payableAmount=").append(payableAmount).
			append(",payAmount=").append(payAmount).
			append(",payPoints=").append(payPoints).
			append(",payType=").append(payType).
			append(",status=").append(status).
			append(",refundAmount=").append(refundAmount).
			append(",refundStatus=").append(refundStatus).
			append(",refundRemarks=").append(refundRemarks).
			append(",orderTime=").append(orderTime).
			append(",cancelTime=").append(cancelTime).
			append(",closeTime=").append(closeTime).
			append(",payTime=").append(payTime).
			append(",payExpireTime=").append(payExpireTime).
			append(",pickupExpireTime=").append(pickupExpireTime).
			append(",shippingTime=").append(shippingTime).
			append(",endTime=").append(endTime).
			append(",buyerType=").append(buyerType).
			append(",buyerId=").append(buyerId).
			append(",buyerNick=").append(buyerNick).
			append(",buyerMessage=").append(buyerMessage).
			append(",sellerType=").append(sellerType).
			append(",groupId=").append(groupId).
			append(",busdId=").append(busdId).
			append(",merchantId=").append(merchantId).
			append(",parkId=").append(parkId).
			append(",isVirtual=").append(isVirtual).
			append(",pickupType=").append(pickupType).
			append(",pickup=").append(pickup).
			append(",pickupRemain=").append(pickupRemain).
			append(",level=").append(level).
			append(",parentId=").append(parentId).
			append(",type=").append(type).
			append(",leaf=").append(leaf).
			append(",oldOrderNo=").append(oldOrderNo).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public OrderEntity copy() {
		return new OrderEntity(this);
	}

    /** 订单号（其它表引用订单号使用order_no） */
	public static final String COL_ID = "id";

    /** 订单金额（订单物品金额之和) */
	public static final String COL_AMOUNT = "amount";

    /** 订单积分 */
	public static final String COL_POINTS = "points";

    /** 优惠金额（优惠金额之和） */
	public static final String COL_COUPON_AMOUNT = "coupon_amount";

    /** 折扣金额（ = SUM((订单物品价格 - 订单物品折扣价) * 数量)） */
	public static final String COL_DISCOUNT_AMOUNT = "discount_amount";

    /** 应付金额 包含运费，运费存在ord_order_shipping */
	public static final String COL_PAYABLE_AMOUNT = "payable_amount";

    /** 实付金额 */
	public static final String COL_PAY_AMOUNT = "pay_amount";

    /** 积分支付额度 */
	public static final String COL_PAY_POINTS = "pay_points";

    /** [枚举]支付类型：0-其他-OTHER、1-悦卡-YUE_CARD、2-悦币-YUE_COIN、3-支付宝-ALIPAY、4-微信-WECHAT、5-积分-POINT */
	public static final String COL_PAY_TYPE = "pay_type";

    /** [枚举]订单状态：0-未付款-NOTPAY、1-已付款/待接单-PAID、2-已完成-SUCCEED、3-已关闭-CLOSED、4-已发货/配送中-SHIPPING、5-已过期-EXPIRED、6-待配送-WAITPOST */
	public static final String COL_STATUS = "status";

    /** 退款金额 */
	public static final String COL_REFUND_AMOUNT = "refund_amount";

    /** [枚举]退款状态：0-未退款-NO_REFUND、1-部分退款-PART_REFUND、2-完全退款-ALL_REFUND */
	public static final String COL_REFUND_STATUS = "refund_status";

    /** 退款备注 */
	public static final String COL_REFUND_REMARKS = "refund_remarks";

    /** 下单时间 */
	public static final String COL_ORDER_TIME = "order_time";

    /** 取消时间 */
	public static final String COL_CANCEL_TIME = "cancel_time";

    /** 交易关闭时间 */
	public static final String COL_CLOSE_TIME = "close_time";

    /** 支付时间 */
	public static final String COL_PAY_TIME = "pay_time";

    /** 支付超时时间 */
	public static final String COL_PAY_EXPIRE_TIME = "pay_expire_time";

    /** 提货超时时间 */
	public static final String COL_PICKUP_EXPIRE_TIME = "pickup_expire_time";

    /** 发货时间 */
	public static final String COL_SHIPPING_TIME = "shipping_time";

    /** 交易完成时间 */
	public static final String COL_END_TIME = "end_time";

    /** [枚举]买家类型：0-会员-MEMBER、2-商户用户-MERCHANT_USER */
	public static final String COL_BUYER_TYPE = "buyer_type";

    /** 买家ID */
	public static final String COL_BUYER_ID = "buyer_id";

    /** 卖家昵称 */
	public static final String COL_BUYER_NICK = "buyer_nick";

    /** 卖家留言 */
	public static final String COL_BUYER_MESSAGE = "buyer_message";

    /** [枚举]卖家类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSD、3-商户-MERCHANT */
	public static final String COL_SELLER_TYPE = "seller_type";

    /** 集团ID */
	public static final String COL_GROUP_ID = "group_id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 商户ID */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 停车场ID（停车支付订单专用） */
	public static final String COL_PARK_ID = "park_id";

    /** 是否虚拟订单（1：虚拟订单，0：非虚拟订单，虚拟订单指所有商品都是虚拟商品的订单） */
	public static final String COL_IS_VIRTUAL = "is_virtual";

    /** [枚举]提货类型：0-上门提货-SELF、1-线上授予-ONLINE、2-商户送货-MERCHANT、3-快递-POST */
	public static final String COL_PICKUP_TYPE = "pickup_type";

    /** 是否需要上门自提（1：需要，会员自己上门自提，0：不需要） */
	public static final String COL_PICKUP = "pickup";

    /** 剩余可提货数量 */
	public static final String COL_PICKUP_REMAIN = "pickup_remain";

    /** 订单层级（0：父订单，1：子订单，仅支持两级结构，子订单精确到卖家，一个订单可以包含多个卖家的商品，子订单中只会有一个卖家的商品） */
	public static final String COL_LEVEL = "level";

    /** 父订单ID */
	public static final String COL_PARENT_ID = "parent_id";

    /** [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME、19-发放礼包(不能被查询到)-GIVING_GIFT_BAG、20-实体卡支付-ENTITY_CARD_PAY、21-商品券领取-COUPON、22-京东商城订单-JD、23-免费领取-FREE、24-活动订单-ACTIVITY */
	public static final String COL_TYPE = "type";

    /** 是否是叶子订单（统计订单金额时，使用叶子订单来统计） */
	public static final String COL_LEAF = "leaf";

    /** 旧订单号 */
	public static final String COL_OLD_ORDER_NO = "old_order_no";
}
